Service Location Protocol (SLP) Notes
Services in SLP
Service URL |
What It Represents |
NDAP.Novell |
An eDirectory partition in a tree |
Bindery.Novell |
eDirectory running on a particular server |
SRS.Novell |
Novell Distributed Print Services (NDPS) |
Rconsole.Novell |
RCONSOLE running on a server |
SapSrv.Novell |
IPX services on a server |
MGW.Novell |
Migration Agent services on a server |
RMS.Novell |
Resource Management Service of NDPS |
TIMESYNC.Novell |
Novell TIMESYNC service |
Differences Between SLP v1 & SLP v2
SLP v1 |
SLP v2 |
Packet size limitations
SLP v1 User Agents will not receive replies from SLP v2 Service Agents
SLP v2 message format not binary-compatible with SLP v1.
Operates in unscoped mode
SLP v1 User Agents must be scoped in order to find SLP v2 Service Agents and Directory Agents.
SLP v1 Service Agents and Directory Agents must be scoped to be seen by SLP v2 User Agents. |
No Packet size limitations
Improved interoperability with third party implementations of SLP, such as OpenSLP, make it easier to integrate with LDAP.
Does not operate in unscoped mode, instead all Service Agents and User Agents are preconfigured to a scope named default.
User Agents will not receive replies from SLP v1 Service Agents.
Message format not binary-compatible with SLP v1. |
SLP Components
User Agent |
Looks for the location of services on the network. |
Service Agent |
Provides the location of services on the network.
SLPTCP.NLM (Netware) or
SRVLOC.SYS (Windows NT)
Once every 60 minutes it must reregister its services with at least one Directory Agent.
Each time the server reregisters, the process generates 15-20 SLP unicast packets between the Service Agent and Directory Agent. Each Service Agent updates its services lifetime in eDirectory (resulting in synchronization traffic) |
Directory Agent |
Acts as a centralized repository for service location information.
SLPDA.NLM (Netware) or
SLPDA.SYS (Windows NT)
When SLPDA is loaded it sends out an advertisement using the multicast address of 224.0.1.22 (v1) or 239.255.255.253 (v2). Service Agents reply via unicast with their service registrations.
Once every 24 hours it clears its cache and reads all service object from eDirectory again. |
SLP Objects
Scope Container Object |
Enhances scalability and performance of SLP.
Used on large networks to organize services into searchable groups, or scopes.
Used by Directory Agent to store service objects for services that register. |
SLP Service Object |
Represents a service registration.
The lifetime of SLP services is 60 minutes. |
Directory Agent Object |
Configured to service one or more scopes.
Adds an attribute to the NCP_Server class definition called SLP Directory Agent DN containing the distinguished name of the Directory Agent. |
Use a Directory Agent under these circumstances:
- You want to use dedicated Directory Agents for service replies.
- If multicast routing is disabled and/or User Agents and Service Agents are in separate segments (most routers/switches filter multicast).
- You need interoperability between SLP v1 and SLP v2.
- There are more than 25 servers or 1000 clients on your network.
Communication Between Scopes
You must use one of the following 2 ways to handle this:
- Configure User Agents to use both eDirectory Agents and scopes (SLP requests could cross the WAN).
- Configure Service Agents to use both eDirectory Agents and scopes (only SLP registration and refreshes will cross the WAN).
SLP Parameters Via DHCP
78 |
Directory Agent |
79 |
Service Scope |
SLP Config Files
Netware (SLP v1 or 2)
SLP.cfg, located in SYS:ETC
Configuring a static Directory Agent
DA addrtype, addr
e.g. DA IPV4, 10.0.0.1
To activate changes use 1 of the following
SET SLP RESET = ON
or
SET SLP DA DISCOVERY OPTIONS =4
This will trigger server to register all its services. You can verify your SLP with:
DISPLAY SLPDA
DISPLAY SLP SERVICES
Linux (SLP v1)
slpuasa.conf, located in /etc
Parameters are in the format:
parameter=value
File read by slpuasa daemon when it starts. Start/stop format:
/etc/rc.d/init/d/slpuasa {start/stop}
Parameter |
Description |
DA_ADDR |
List of IP addresses and scopes of SLP Directory Agents used to statically configure the User Agent/Service Agent. In the format:
<unscoped_da_ip_addr1>,<unscoped_da_ip_addr2>,…
(<scoped_da_ip_addr1>,<list_of_da_scopes>),….. |
net.slp.isBroadcastOnly |
Allows you to specify broadcast or multicast SLP requests for User Agent and Service Agent.
Value of 0 means multicast, 1 means broadcast.
(default=0)
|
net.slp.isMulticastOnly |
Only necessary if you have problems with a Directory Agent. Can cause unnecessary increases in multicast traffic.
Value of 1 means slpuasa daemon will not discover any Directory Agents (active or passive).
(default=0) |
net.slp.MTU |
Maximum Path Unit used by Service Agent to service SLP requests.
(default=1400) |
net.slp.MulticastRadiu |
Site’s multicast TTL.
(default=32) |
Novell SLP v1 is optional, Novell recommends using a third-party SLP solution, like OpenSLP, if a more robust solution is needed. If OpenSLP RPMs are already installed, the eDirectory installation will skip the Novell SLP installation.
You can verify your SLP via:
slpinfo –s “ndap.novell/digair//”
Microsoft Windows (SLP v1)
On Windows servers you configure SLP through the Novell Client options (via the N in the system tray). You can verify your SLP settings with:
spinfo /d
o
spinfo /a
Service Filtering
SET SCOPE LIST parameter fines where services should be registered,
However you can use the REGISTER TYPE command to set exceptions to this rule and filter SLP services between different scopes.
REGISTER TYPE “type_name” to SCOPE “scope_name”
e.g. REGISTER TYPE “lpr” to SCOPE “eng”
All other services, not matching the filter, will be registered with the scope specified in the scope list.
Minimise eDirectory traffic due to SLP updates
- Keep the number of eDirectory Agents to a minimum.
- Increase the service registration lifetime on each Service Agent (129…65,353 default: 3600).
Windows 2000 SLP Modes
The implementation of SLP on windows is SLP v1.
Local Mode |
Stores all its configuration information in the Windows 2000 registry, including:
- Scopes serviced
- Filters
- Refresh rates
SLP Directory Agents in local mode are configured locally using SLPPREFS.EXE |
Directory Mode |
Stores all its configuration information in eDirectory on the SLP DA object, including scopes and services.
Configuration settings are read from from eDirectory into cache, thereafter refreshed at the interval configured in the SLP DA object.
Has the advantage of not being server dependant, i.e. information is stored in eDirectory and multiple DA’s can service the same scope.
Services are stored in the SLP Scope container.
A local read/write replica of the SLP Scope object is required.
SLP Directory Agents operating in directory mode are configured using ConsoleOne. |
SLP Proxies
- SLP Directory Agents on Windows 2000 can configure SLP proxies.
- Generally used by Directory Agents configured in local mode.
- Makes services available to remote sites without the need for a local replica of the scope.
- Enables you to set filters to make only specific types of services available on remote sites.
SLP Filters
Directory Filters |
Only available when Directory Agent operates in directory mode.
Allows you to specify which services should be written to the eDirectory scope object.
Services which match a filter are written to local cache and eDirectory. Making it available to other Directory Agents.
Services which don’t match a filter are registered in the local cache but not written to the scope object in eDirectory. Making it available only to the local Directory Agent. |
Registration Filters |
Can be set for Windows NT or NetWare Directory Agents.
Alows you to specify INCLUDE and EXCLUDE for services, meeting specific conditions.
Services which meet the condition can register. Services which don’t meet the condition are not registered with the Directory Agent.
Can be used by Directory Agents in either local mode or directory mode. |
Response Filters |
Operate by identifying the addresses or subnets that responses will be sent to.
Allow you to limit the availability of services throughout your network.
Can be used to limit the services that are written to eDirectory to only those services that need to be available to all clients in the network. |
|